package com.syh.jn.scm.service.api.supplier.sale;

import com.syh.jn.scm.dto.supplier.sale.SaleReturnOrderItemVo;
import com.syh.jn.scm.dto.supplier.sale.SaleReturnOrderMto;
import com.syh.jn.scm.dto.supplier.sale.SaleReturnOrderSto;
import com.syh.jn.scm.dto.supplier.sale.SaleReturnOrderVo;
import com.syh.jn.scm.dto.support.FilesDto;
import com.syh.jn.scm.service.core.BaseService;

import java.util.List;

/**
 * Date:2018/7/17
 * Author:Clown
 * Desc;
 */
public interface SaleReturnOrderService extends BaseService<SaleReturnOrderSto, SaleReturnOrderMto, SaleReturnOrderVo, Long> {

  /**
   * 取消订单
   *
   * @param id
   */
  public void cancel(Long id);

  /**
   * 反确认订单
   *
   * @param id
   */
  public void antiConfirm(Long id);

  /**
   * 确认订单
   *
   * @param id
   */
  public void confirm(Long id);

  /**
   * 根据销售退货单id获取明细
   *
   * @param id
   * @return
   */
  List<SaleReturnOrderItemVo> getItemsBySaleReturnOrderId(Long id);

  /**
   * 根据ids获取明细
   *
   * @param ids
   * @return
   */
  List<SaleReturnOrderItemVo> getItemsBySaleReturnOrderIds(Long[] ids);

  /**
   * 上传图片
   *
   * @param dto
   */
  public void uploadImages(FilesDto dto);

  /**
   * 批量保存订单
   *
   * @param stoList
   */
  List<Long> batchSave(List<SaleReturnOrderSto> stoList);
}
